home *** CD-ROM | disk | FTP | other *** search
/ DreamSavers: Garden of Time 3D / Garden of Time 3D.iso / Garden.ico / 1049 / MEDIADATA / 453 / shaders / BillBoardInverse.vsh < prev    next >
Text File  |  2005-08-09  |  1KB  |  87 lines

  1. vs.1.1
  2.  
  3.  
  4.  
  5. mov r0.x, c1.x
  6.  
  7. add r0.x, r0.x, v3.x
  8.  
  9. ; Clamp theta to -pi..pi
  10. add r0.x, r0.x, c21.x
  11. mul r0.x, r0.x, c21.y
  12. frc r0.xy, r0.x
  13. mul r0.x, r0.x, c21.z
  14. add r0.x, r0.x,-c21.x
  15.  
  16.  
  17. ; Compute first 4 values in sin and cos series
  18. mov r5.x, c24.x      ; d^0
  19. mov r4.x, r0.x       ; d^1
  20. mul r5.y, r4.x, r4.x ; d^2
  21. mul r4.y, r4.x, r5.y ; d^3
  22. mul r5.z, r5.y, r5.y ; d^4
  23. mul r4.z, r4.x, r5.z ; d^5
  24. mul r5.w, r5.y, r5.z ; d^6
  25. mul r4.w, r4.x, r5.w ; d^7
  26.  
  27. ; cos
  28. dp4 r0.x, r5, c20
  29.  
  30. mul r0.x, r0.x, c23.x
  31.  
  32. mul r0.x, r0.x, v8.y
  33.  
  34.  
  35. ; Compute first 4 values in sin and cos series
  36. mov r5.x, c24.x      ; d^0
  37. mov r4.x, r0.x       ; d^1
  38. mul r5.y, r4.x, r4.x ; d^2
  39. mul r4.y, r4.x, r5.y ; d^3
  40. mul r5.z, r5.y, r5.y ; d^4
  41. mul r4.z, r4.x, r5.z ; d^5
  42. mul r5.w, r5.y, r5.z ; d^6
  43. mul r4.w, r4.x, r5.w ; d^7
  44.  
  45. ; cos
  46. dp4 r0.x, r5, c20
  47.  
  48. ; sin
  49. dp4 r0.y, r4, c24
  50.  
  51.  
  52. mov r2.x, r0.x
  53. mov r2.y, r0.y
  54. mov r2.z, c0.x
  55. mov r2.w, c0.x
  56.  
  57. mov r3.x,-r0.y
  58. mov r3.y, r0.x
  59. mov r3.z, c0.x
  60. mov r3.w, c0.x
  61.  
  62. mov r4.x, c0.x
  63. mov r4.y, c0.x
  64. mov r4.z, c0.z
  65. mov r4.w, c0.x
  66.  
  67. mov r5.x, c0.x
  68. mov r5.y, c0.x
  69. mov r5.z, c0.x
  70. mov r5.w, c0.z
  71.  
  72.  
  73. m3x4 r1, v0, r2
  74. m3x4 r0, r1, c26
  75.  
  76. mul  r0.x, r0.x, v8.x
  77. mul  r0.y, r0.y, v8.x
  78. mul  r0.z, r0.z, v8.x
  79.  
  80. add  r0, r0, v3
  81.  
  82.  
  83. m4x4 oPos, r0, c4
  84. mov  oT0.x, v7.x
  85. mov  oT0.y, -v7.y
  86. mov  oT1.xy, v8.xy
  87. mov  oD0, v5